题目链接
给定一张 n 个节点的有向图,部分节点有标记。每个节点 i(1≤i≤n)至多只可能被一个节点 ai 邻接,且有标记节点不可能邻接任何节点。试找出该图中的一个最长通路 P=⟨p1,p2,⋯,pn⟩,满足:
利用好题目中给出的节点出度与入度的限制。
依据题目的条件,假设我们断开该图中所有与出度大于 1 的节点邻接的边,可以证明该图将变成由一系列链组成的图。因此我们可以考虑直接枚举所有具有特殊标记的节点所在的链,维护一个指针从这些节点开始不断移动至前驱节点,从而得到该链的长度。可以证明该操作时间复杂度为 O(n)。
见提交记录。